package cn.kgc.vue.service;

import cn.kgc.vue.commons.QueryCondition;
import cn.kgc.vue.commons.ResponseResult;
import cn.kgc.vue.entity.User;
import cn.kgc.vue.form.LoginFrom;
import cn.kgc.vue.form.PasswordForm;
import cn.kgc.vue.form.UserForm;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* @author mengshun
* @description 针对表【sys_user】的数据库操作Service
* @createDate 2023-12-02 09:43:31
*/
public interface UserService extends IService<User> {

    ResponseResult login(LoginFrom loginFrom, HttpServletRequest request);

    ResponseResult userList(QueryCondition<User> queryCondition);

    ResponseResult batchRemoveByIds(List<Integer> ids);

    ResponseResult saveUser(UserForm userForm);

    ResponseResult getUserById(Integer uid);

    ResponseResult editUser(UserForm userForm);

    ResponseResult editPersonalPassword(PasswordForm passwordForm,HttpServletRequest request);

    ResponseResult getUserPermission(Integer uid);
}
